package com.wangxl;

import lombok.extern.slf4j.Slf4j;

import java.util.*;

/**
 * 练习List的各种操作
 * @author wangxl
 * @date 2022/2/17 13:03
 */
@Slf4j
public class ListOperate {

    /**
     * 学生集合
     */
    public static List<Integer> userList = null;

    /**
     * 主函数
     * @param args 数组
     */
    public static void main(String[] args) {
        // 创建一个ArrayList，用于存放学生id
        userList = new ArrayList<>();

        // 向userList中添加5条数据
        for (int i = 0; i < 5; i++) {
            userList.add(i);
        }

        log.info("添加完数据后，userList = " + userList);

        // 使用remove(index)方式删除第一条学生id
        userList.remove(0);

        log.info("使用remove(index)删除第一条数据后，userList = " + userList);

        //使用remove(Object)方式删除user2的学生id
        userList.add(2);
        userList.remove((Integer) 2);

        log.info("使用remove(object)删除学号为2的数据后，userList = " + userList);

        // 读取第二个学生信息
        Integer stuId = userList.get(2);

        log.info("读取到的数据是：" + stuId);

        // 列表排序
        // 排序需要自定义排序规则（从大到小）
        userList.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2.compareTo(o1);
            }
        });

        // 遍历列表
        userList.forEach(System.out::println);

        log.info("排序后，userList = " + userList);
    }

}
